The present invention relates generally to the field of Multiple-Input-Multiple-Output (MIMO) systems. More specifically, the present invention relates to a receiver for the MIMO system architecture known as Vertical Bell Labs Layered Space-Time (V-BLAST).
MIMO systems are control systems with multiple inputs and outputs and can achieve high spectrum efficiency in a rich multi-path scattering environment. A V-BLAST system is a MIMO space-time architecture that is used in high data-rate wireless communication systems. In the V-BLAST system, a single data stream is de-multiplexed into a number of un-coded parallel data sub-streams at the transmitter. The parallel data sub-streams are referred to as un-coded data layers as there is no inter sub-stream coding present among parallel data sub-streams. The parallel data sub-streams are transmitted from multiple transmitting antennas simultaneously as independent data symbols. The transmitted parallel data sub-streams are received at a single receiver through multiple receiver antennas.
The mechanism of using MIMO systems for data transmission through the V-BLAST systems can be better explained with the help of the following signal models and various mathematical equations.
For an Mt×Mr MIMO system, Mr and Mt denote the number of receiving and transmitting antennas. The parallel data sub-streams as mentioned above are denoted by si,i=1, . . . , Mt and constitute transmitted data. The number of the parallel data sub-streams is equal to the number of transmitting antennas. The transmitted data is represented by a column vector s which is denoted by [s1 . . . sMt]T. In the case of the V-BLAST system, the parallel data sub-streams si,i=1, . . . , Mt have no inter-sub-stream coding among them and are transmitted as independent data points. si,i=1, . . . , Mt are derived from a signal constellation A={a1, . . . , aγ} of size γ. The received signal for a Mt×Mr MIMO system under a frequency flat fading scenario, is modeled asy=Hs+n where y is the received column vector of length Mr; and H is the channel matrix of size Mr×Mt. Hij values of the channel matrix H are channel tap values between ith receiving antenna and jth transmitting antenna. They are assumed to be circularly symmetric Gaussian random variables with zero mean and unit variance. n is a noise vector with components drawn from independent circularly symmetric zero mean complex Gaussian processes with variance σ2.
The transmitted parallel data sub-streams, hereinafter referred to as data layers, are obtained at a receiver in the form of the received vector. The receiver detects the transmitted data by decoding the received vector. However, due to interference between the data layers, the receiver may not optimally detect the transmitted data. Various types of receivers can be used for detection of the transmitted data for the V-BLAST system. The optimal receiver is Maximum Likelihood (ML) receiver, which is a non-linear receiver.
The ML receiver determines the vector which is closest to the received vector in the sense of Euclidean distance. The estimate ŝ is obtained as
      s    ^    =            min              s        ∈                              A                          M              t                                ⁢          t                      ⁢                  (                  y          -          Hs                )            *              (                  y          -          Hs                )            
where A is the set of constellation points of the data stream, and the superscript * denotes the conjugate transpose. The ML receiver provides full multiplexing gain of order of Mt where Mt is the number of transmitting antennas. Further, the ML receiver also provides a diversity gain of order of Mr where Mr is the number of receiver antennas. The ML receiver provides a very high probability of detection for the transmitted data. Since there are Mt parallel data layers and each data layer can assume γ values, the number of searches required to find the transmitted data is γMt. This is known as joint decoding as the data transmitted from Mt antennas is detected simultaneously at the receiver. The complexity of the ML receiver increases exponentially with the number of transmitting antennas as a consequence of the joint decoding. Therefore, the ML receiver is not suitable for practical V-BLAST systems.
Conventionally, linear receivers have been used for V-BLAST. One such linear receiver is a Zero-Forcing with Successive Interference Cancellation (ZF-SIC) Receiver. Here, diagonal entry of (H*H)−1 with minimum value is determined. Let this be ith entry. Then, the ith row of (H*H)−1H* is denoted by a weight vector wi. The diagonal entry with minimum value corresponds to the data point with maximum post-detection Signal to Noise Ratio (SNR). Then an estimate di can be calculated for the data layer corresponding to ith row vector as,di=wiy
Further, di is decoded to the closest constellation point al from A,l=1, . . . γ, di being closest to al in terms of Euclidean distance. Received vector y is then updated by subtracting out the contribution of al from the received vector. For example, an updated y is obtained asy=y−Hial, where Hi denotes the ith column of H.
Further, H is updated by deleting the column corresponding to the decoded data layer, i.e., column Hi.
The above process is continued until the data layers corresponding to all columns of H are decoded. The number of computations required to detect the transmitted data is of the order of M3 where Mt=Mr=M. As a result, the complexity of the ZF-SIC receiver is low, as compared to that of the ML receiver. However, the detection performance of the ZF-SIC receiver is much below that of the ML receiver.
Another type of linear receiver is a Minimum Mean-Square-Error with Successive Interference Cancellation (MMSE-SIC) receiver. The MMSE-SIC receiver is similar to ZF-SIC receiver. In MMSE-SIC receiver, the diagonal entry for (H*H+σ2MtI)−1 with minimum value is determined, where I denotes an identity matrix. Let this be ith entry. The ith row of (H*H+σ2MtI)−1H* corresponds to weight vector wi. The remaining steps in data decoding are same as that of ZF-SIC receiver. The complexity of the MMSE-SIC receiver is of the same order as that of the ZF-SIC and is hence low when compared to that of ML receiver. However, the detection performance of the MMSE-SIC receiver is much below that of the ML receiver.
In view of the foregoing discussion, there is a need for a receiver that bridges the gap between the detection performance of the ML receiver and that of the ZF-SIC and MMSE-SIC receivers. The receiver's detection performance should be better than that of the ZF-SIC/MMSE-SIC receiver. The complexity of the receiver should be almost the same as that exhibited in the ZF-SIC/MMSE-SIC receiver. The receiver should have detection performance close to ML performance, while concurrently keeping the complexity less than that of the ML receiver.